package customerEnter.Frame.DaoDataTransmission;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.ServletContextEvent;

import org.springframework.jdbc.core.JdbcTemplate;

import customerEnter.Frame.JDBCDao.JdbcTemplate.IcyDataTemplate;
import customerEnter.Frame.Utils.FileUtils;
import customerEnter.Frame.Utils.Log4j;
import customerEnter.tool.springBeans;

/**
 * 項目 信息
 * 
 * 类名称：WebAppsInfo 类描述： 创建人：dy 创建时间：2016-7-13 上午10:06:47
 * 
 */
public class WebAppsInfo {
	/**
	 * 項目名稱
	 */
	public static String					webName;
	/**
	 * 項目根目錄 E://......
	 */
	public static String					webUrl;
	/**
	 * 項目服務路徑
	 */
	public static WebAppName				webAppName		= new WebAppName();
	/**
	 * 使用的系統 win7 或者 linux
	 */
	public static final String				System			= java.lang.System.getProperty("os.name");
	/**
	 * java 版本
	 */
	public static final String				webJavaEdition	= java.lang.System.getProperty("java.version");
	/**
	 * web 容器
	 */
	public static String					webContainer;
	/**
	 * 項目版本
	 */
	public static String					webEdition		= "v.1.0";
	/**
	 * 項目使用的技術
	 */
	public static HashMap<String, String>	webTechnology;
	/**
	 * 項目使用的數據庫
	 */
	public static String					webDataBase;

	public WebAppsInfo() {

	}

	@Resource(name = "jdbcTemplate")
	public JdbcTemplate	jdbcTemplate;

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public static void requestWebName(ServletContextEvent ContextEvent) {
		webName = ContextEvent.getServletContext().getContextPath().replace("/", "");
		webContainer = ContextEvent.getServletContext().getServerInfo();
		String path = ContextEvent.getServletContext().getRealPath("/");
		webUrl = path.replace("\\", "/");
		try {
			List<String> list = FileUtils.readfile(path + "\\WEB-INF\\lib\\");
			webTechnology = new HashMap<String, String>();
			for (int i = 0; i < list.size(); i++) {
				String str = list.get(i).replace("jar", "").replace("\\.", "");
				String str2 = str.substring(0, str.length() - 1);
				String[] str3 = str2.split("-");
				webTechnology.put(str3[0], str3[0]);
			}
			WebAppsInfo.webDataBase = ((IcyDataTemplate) springBeans.getBean("icyDataTemplate")).getDataSource()
					.getConnection().getMetaData().getDriverName();
		} catch (Exception e) {
			Log4j.Log4JOutError("項目初始化信息設置失敗：" + e.getMessage());
		}
		// new WebAppsInfo().test();
		// WebAppName.setWebServerUrl_Shopping(webServerUrl_Shopping);
	}

	public void test() {
		java.lang.System.out.println(jdbcTemplate);
	}

	// 获取文件系统使用率
	public static List<String> getDisk() {
		// 操作系统
		List<String> list = new ArrayList<String>();
		for (char c = 'A'; c <= 'Z'; c++) {
			String dirName = c + ":/";
			File win = new File(dirName);
			if (win.exists()) {
				long total = (long) win.getTotalSpace();
				long free = (long) win.getFreeSpace();
				Double compare = (Double) (1 - free * 1.0 / total) * 100;
				String str = c + ":盘  已使用 " + compare.intValue() + "%";
				list.add(str);
			}
		}
		return list;
	}

}
